The propagation of an electromagnetic signal from sender to receiver is affected by the imperfections of the transmission channel. As the electromagnetic signal travels from the transmitting antenna to the receiving antenna, it encounters a transmission channel that is subject to reflections on different stationary and non-stationary objects resulting in so-called multi-path fading, by noise due to a variety of factors, for example background noise, noise introduced through transmitter and receiver components, noise introduced through atmospheric transmission conditions, and interference introduced from other transmitters operating on interfering carrier frequencies.
As a result of this imperfect transmission channel, the signal received at the receiving antenna is typically not the same as the signal that was transmitted by the sender. Consequently, techniques are applied to enable the detection and possible correction of bit errors by error detection coding and/or error correction coding.
To ensure that the transmitted information and the received information are to a determined probability the same, there should be a way for the receiver to deduce, to determined probability, when received information contains errors. Furthermore, if errors are detected, a mechanism is needed to obtain the correct information.
A first mechanism to achieve the above indicated wish is the feedback (backward) error detection in which each character or frame includes only sufficient additional information to enable the receiver to detect if errors are present but not their location. Normally a retransmission control scheme is used to request that a copy of the information be again sent. This first mechanism will not be further described, as it is well known by anybody skilled in the art.
A second mechanism that can be used is the so called forward error correction (FEC) coding, in which each transmitted character or frame contains additional (redundant) information so that the receiver can not only detect if errors are present but also determine where in the received character or frame the errors are. The correct information is then obtained by inverting these bits. The forward error correction (FEC) coding techniques, such as algebraic coding or block coding, convolutional coding, concatenated coding and turbo coding, will not be further explained as they are very well-known by those skilled in the art.
The above mentioned encoders are typically located in the transmitting station whereas the decoders are typically located in the receiving station of a digital communication system. Decoders use redundant information added by the encoder to detect and correct bit errors caused by the adverse effects of the communication channel.
Optimal decoding of turbo codes is often a very complex task, and may require large periods of time not usually available for on-line decoding. Iterative decoding techniques have been developed to overcome this problem. Rather than determining immediately whether received bits are zero or one, the receiver assigns each bit a value on a multilevel scale representative of the probability that the bit is one or zero. A common scale, referred to as log-likelihood ratio (LLR) probabilities, represents each bit by an integer in some range, e.g. {−32,31}. A value of 31 signifies that the transmitted bit was a zero with very high probability, and a value of −32 signifies that the transmitted bit was a one, with very high probability. A value of zero indicates that the logical bit value is indeterminate. Values represented on a multilevel scale are referred to as “soft data” and are generally used by a decoder, that performs iterative decoding from former iterations, to decode the soft data read by the receiver. During iterative decoding of multiple-component codes, the decoder uses results from decoding of one code to improve the decoding of the second code. When parallel encoders are used, as in turbo coding, two corresponding decoders may conveniently be used in parallel for this purpose. Such iterative decoding is carried out for a plurality of iterations until it is believed that the soft data closely represents the transmitted data.
Probability deals with calculating the likelihood of a given event's occurrence given a certain amount of information about this event. This is especially clear when the probability of something that has already happened. With a probability that x was sent, p(x), a probability is meant that x was sent given the amount of information that there is about the event. Usually that is not only the received noisy version of x, but also information of the coding scheme, transmission link, etc.
In some cases some information of the transmitted message is available before the received message is decoded. That may comprise information that some messages are more likely to occur than others or information from other transmitted sequences. This is called “a priori information” and associated with it are the a priori probabilities. In a similar way the concept of a posteriori probabilities is known when both the a priori information probabilities and the information gained by the decoding are included.
For turbo codes there are two encoded sequences. The decoding starts by decoding one of them in order to get a first estimate of the information sequence. This estimate is then used as a priori information in the decoding of the second encoded sequence. This requires that the decoder is able to use a soft decision input and to produce soft output. The above mentioned turbo decoder consists of Soft-In-Soft-Out (SISO) decoders that work cooperatively and are implemented with Logarithmic Maximum A Posteriori (Log-MAP) algorithm. Each decoder produces a posteriori information, which is used as priori information by the other decoder.
The two most common decoding strategies for turbo codes are based on a MAP or A Posteriori Probability (APP) algorithm and a Soft Output Viterbi Algorithm (SOVA). Regardless of which algorithm is implemented, the turbo code decoder requires the use of two component decoders having a same algorithm and that operate in an iterative manner. These methods provide soft outputs representing the a posteriori log likelihood ratios for the received bits.
In a typical decoding operation, the first decoder generates statistical information based on the data received from the first component encoder. This information is then fed to the second decoder, which processes it along with the data received from the second component encoder. After decoding, the improved and updated statistical information is fed back to the first decoder, which starts the process again. This process continues for a number of iterations, typically six to ten iterations for each block of data, after which the actual data estimates are produced.
In one variation of the Viterbi algorithm, the received encoded bits are characterized not just by their bit polarities, but by a magnitude or quality measure representing the degree of “ONE-ness” or “ZERO-ness.” When a strong received symbol matches a locally predicted symbol, the confidence factor for the path is increased significantly whereas a weak received symbol would increase the confidence factor to a lesser extent. A received symbol which does not match the locally predicted symbol will decrease the confidence factor of the corresponding path with the amount of decrease determined by the strength of the mismatching received symbol. This is typically referred to as soft decoding as opposed to hard decoding.
Despite the use of error detection and correction techniques, the quality of the channel can nonetheless be such that some of the received information bits are erroneous, even after error correction has been performed by the receiver. Depending on the application, a certain number of bit errors per unit of time may be tolerable, such as where the information bits represent voice information carried over a cellular telephone call. In such cases, errors may cause the quality of the sound to degenerate, but the sound reproduced from this erroneous bit stream may nonetheless be acceptably recognizable to the listener. At or above a particular level however, the bit error rate becomes unacceptable because the amount of audio distortion makes the received speech difficult to understand. In a telecommunication transmission, the Bit Error Rate (BER) is the percentage of bits that have errors relative to the total number of bits received in a transmission.
In many radio communications systems, actions that can be taken when the BER becomes too large to provide acceptable service include retransmitting the information (e. g. retransmitting the erroneously received block of bits), and/or taking steps to reduce the BER in future transmissions. A simple way to reduce the BER might be to increase the transmitted power level used by the transmitter such that under all conditions there is still a reliable signal at the receiver. However, in a cell based mobile communication system, increasing signal strength in one cell will result in increased interference in the adjacent cells resulting in an increased BER in those cells. It is therefore advantageous to be able to deal with a signal having the lowest possible carrier to interference (C/I) ratio, or the lowest possible signal to noise ratio (SNR) as it enables usage of lower power by transmitter and receiver equipment and thereby reducing the size and power requirements of the handset, and possibly increasing the capacity of the overall digital radio telecommunications system.
There are many schemes used to estimate the bit error rate. One technique is to estimate the Carrier to Noise (C/N) ratio and then to map the C/N ratio to a bit error ratio or signal quality band. This scheme is very well suited for analogue radio systems. One problem, however, is that this scheme gives very poor performance at low C/N ratios.
A well known approach for generating a BER estimate mainly consists of re-encoding the corrected received signal and compare the re-encoded signal to the uncorrected signal to calculate a bit error rate based on differences between the re-encoded and the received bit pattern. An example of such a re-encoding approach to bit error rate calculation is illustrated in patent GB 2305083.
However, since there is no guarantee that the channel decoder always corrects an erroneous bit as well as it may also change a correct bit into an incorrect bit, the re-encoding of this possibly partially corrected signal with the uncorrected signal will result in an erroneously calculated BER. In other words, this method typically works best whenever the decoder successfully decodes all the received bits, i.e., when the BER is low enough for the error correction code to correct any errors.
A modified version of the re-encode and compare scheme is illustrated in patent application WO 01/99386 and which attempts to overcome the disadvantages of the patent GB 2305083. The modified re-encode and compare technique is essentially the same as patent GB 2305083 except that the re-encoding and comparison are done only for frames that pass a Cyclic Redundancy Check (CRC) following the channel decoder. That is, a CRC is performed on the output of the channel decoder before the output is re-encoded and compared to the uncorrected signal. The modified re-encode and compare scheme provides better performance than the conventional approach. However, the modified re-encode and compare scheme can be used only in cases where CRC bits are used for error detection. Hence, it is not always possible to implement the modified re-encode- and compare scheme. Another drawback is that the modified re-encode- and compare scheme skips frames that fail the CRC. There may not be sufficient frames left over in one measurement period to estimate the channel's BER. In such case, it is necessary to increase the measurement period and/or the number of frames, which is not always possible.
It is therefore an object of the present invention to deal with the aforementioned problems by providing a method or system to calculate to a high probability value the quality of the transmission which can be expressed as the BER, which represents the number of erroneous bits divided by the total number of bits transmitted, received, or processed over some stipulated period.